#include "linklist.h"
// #include <stdlib.h>

/*****单链表的基本操作*****/
void InitList(LinkNode *&L)
{ 
	// 操作结果：构造一个空的单链表L
	/********** Begin **********/ 
	L = (LinkNode *)malloc(sizeof(LinkNode));
    L->next = NULL;
	/********** End **********/
}
bool ListInsert(LinkNode *&L,int i,ElemType e)
{
	// 在带头结点的单链线性表L的第i个元素之前插入元素e  
	/********** Begin **********/ 
    int j = 0;
    LinkNode *p = L,*s;
    if(i<=0) return false;
    while(j<i-1 && p!=NULL){
        j++;
        p=p->next;
    }
    if(p==NULL)
        return false;
    else{
        s=(LinkNode *)malloc(sizeof(LinkNode));
        s->data=e;
        s->next=p->next;
        p->next=s;
        return true;
    }
	/********** End **********/
}



void DispList(LinkNode *L)
{
	/********** Begin **********/ 
	LinkNode *p=L->next;
    while(p!=NULL){
        printf("%d",p->data);
        p=p->next;
    }
    printf("\n");
	/********** End **********/
}
